package com.bookmarket.service.impl;

import com.bookmarket.dao.HJHRoleMapper;
import com.bookmarket.entity.Role;
import com.bookmarket.service.HJHRoleService;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;

@Service("/roleService")
public class HJHRoleServiceImpl implements HJHRoleService {

    @Resource
    private HJHRoleMapper roleMapper;

    @Override
    public Page findAll(Map<String, Object> cond) {
        Page page = new Page();
        // 总条数

        page.setTotal(roleMapper.getCount(cond));
        // 从请求参数中获取每页大小(参数中封装了前台传过来的页码页数;拿出来)
        int pageSize = Integer.parseInt(String.valueOf(cond.get("pageSize")));
        //将前台拿到的每页数据条数放进page对象中
        page.setPageSize(pageSize);
        // 从请求参数中获取当前页码
        int curPageNum = Integer.parseInt(String.valueOf(cond.get("pageNum")));
        //将前台拿到的页码放进page对象中(注：引用的对象中有对应的属性)
        page.setPageNum(curPageNum);
        //动态计算总页数(总记录数 除以 每页大小，加上  总页数 求余 每页大小，如果余数不为0，则 加 1，否则 加 0 )
        page.setPageNum((int) (page.getTotal() / pageSize + (page.getTotal() % pageSize == 0 ? 0 : 1)));
        //根据条件查询符合的用户列表记录，赋值给page的result变量
        page = PageHelper.startPage(curPageNum, pageSize);
        //根据页码页数查询对应的信息
        List list = roleMapper.findAll(cond);

        return page;
    }

    //修改管理员权限
    public void updateRole(Map<String, Object> cond){
        roleMapper.updateRole(cond);
    }


    //删除管理员
    public void deleteRole(Role role){
        roleMapper.deleteRole(role);
    }

    //修改管理员权限_查询所有的权限
    public List<Role> updateRole_Find(){
        List<Role> list=roleMapper.updateRole_Find();
        return list;
    }


    //根据id修改管理员密码
    public void ChangePass(int id,String pass){
         roleMapper.ChangePass(id,pass);
    }

    public HJHRoleMapper getRoleMapper() {
        return roleMapper;
    }

    public void setRoleMapper(HJHRoleMapper roleMapper) {
        this.roleMapper = roleMapper;
    }
}